Anti-Grain Geometry

Anti-Grain Geometry
Developer(s) Maxim Shemanarev
Stable release 2.5.0 / October 1, 2006; 5 years ago (2006-10-01)
Written in C++
Operating system Cross-platform
Type Graphics library
License GPL (free software)
Website antigrain.com

Anti-Grain Geometry (AGG) is a high-quality 2D rendering library written in C++. It features anti-aliasing and sub-pixel resolution.

The library is operating system independent and renders to an abstract memory object. It comes with examples interfaced to the X Window System, Microsoft Windows, Mac OS X, AmigaOS, BeOS, SDL. The examples also include an SVG viewer.

AGG makes heavy use of C++ generic programming: it relies on templates rather than class-based interfaces. This gives it the flexibility to plug custom classes into the rendering pipeline, without requiring a rigid class hierarchy, and allows the compiler to inline many of the method calls for high performance. For a library of its complexity, it is remarkably lightweight, and it has no dependencies above the standard C++ libraries. The implicit interfaces are not well documented, however, and this can make the learning process quite cumbersome.

Through version 2.4 AGG was under the 3-clause BSD license. Beginning with version 2.5 it is under the GNU General Public License, version 2 or greater.

Usage

The Haiku operating system uses AGG in its windowing system.

It is one of the renderers available for use in GNU's Gnash Flash player.

Graphical version of Rebol language interpreter is using AGG for scalable vector graphics DRAW dialect.

Matplotlib uses AGG as its back-end rendering engine.[1]

External links

References